package raycast;

import java.util.ArrayList;
import java.util.List;

import javax.vecmath.Point3d;
import javax.vecmath.Vector3d;

import model.Color;
import model.primitive.Primitive;

public class Intersection {
	private List<IntersectionData> hits;
	
	public Intersection findIntersection(Ray ray, Scene scene) {
		this.hits = new ArrayList<IntersectionData>();
		
		return null;
	}
	
	public Color getColor() {
		
		return null;
	}
	
	
	private class IntersectionData{
		private Point3d hitPoint;
		private Vector3d normal;
		private Primitive primitive;

		public IntersectionData (Primitive primitive, Vector3d normal, Point3d hitPoint) {
			this.primitive = primitive;
			this.normal = normal;
			this.hitPoint = hitPoint;
		}

		public Point3d getHitPoint() {
			return hitPoint;
		}

		public void setHitPoint(Point3d hitPoint) {
			this.hitPoint = hitPoint;
		}

		public Vector3d getNormal() {
			return normal;
		}

		public void setNormal(Vector3d normal) {
			this.normal = normal;
		}

		public Primitive getPrimitive() {
			return primitive;
		}

		public void setPrimitive(Primitive primitive) {
			this.primitive = primitive;
		}
	}
	
}
